package Object;
/* 
 * 多行注释快捷键： Alt+shift+A
*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/*
 * 对象操作流：可以用于对鞋任意类型的对象
 * 
 * 
 * Exception in thread "main" java.io.NotSerializableException: Object.Student1
 * Serializable:序列号，是一个表示接口，只起标识作用，没有方法
 * 				当一个类的对象需要IO流进行读写的时候，这个类必须实现该接口，里面没有方法，
 * 
 * 注意：使用对象输出流写出对象，只能使用对象输入流来读取对象
 * 		只能将支持 java.io.Serializable 接口的对象写入流中
 */
public class ObjectOutputStreamDemo {
	public static void main(String[] args) throws IOException, Exception {
//		method();
		//创建对象输入流对象
		ObjectInputStream ois = new ObjectInputStream(new FileInputStream("a.txt"));
		
		//读取对象
		Object obj = ois.readObject();
		System.out.println(obj);
		//释放资源
		ois.close();
		
		
	}

	private static void method() throws IOException, FileNotFoundException {
		//创建对象输出流的对象
		ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("a.txt"));
		
		//创建学生对象
		Student1 s1 = new Student1("张三",18);
		Student1 s2 = new Student1("lisi",19);
		//写出学生对象
		oos.writeObject(s1);
		oos.writeObject(s2);
		//释放资源
		oos.close();
	}
}
